【随笔】Filecoin的Gas燃烧
Filecoin 新的网络升级(NV16)在北京时间7月6日晚10:00生效了。这次升级带了的最大改变是引入了 FVM M1。也就是说为下一步真正支持智能合约做准备,但目前还不支持智能合约。尽管目前不支持用户写智能合约,但就软件结构而言,已经引入了对 WASM 虚拟机的支持,并且,原系统级的 Actors 也全部重写,使得其和用户智能合约一样,在WASM虚拟机上运行。System Actors 能够在虚拟机上运行,那么用户编写的智能合约也应该没问题。这就是这次升级最大的一个意义。
同时,这次升级带来的一个副产品就是 Gas 消耗的计算按照智能合约的计算方式来进行了,在目前,当然只作用于 System Actors。也就是说,Gas消耗的计算方法与以前不同了。现在的计算方法是按照调用 System Actors 真正的指令计算量和存储访问量来计算的。这套机制同样会用到下一步的用户智能合约之上。
升级结束之后,相信大家都看到了,由于计算方式的不同导致了几乎所有的消息Gas使用量的上涨。同时,由于Filecoin的复制证明聚合设置了一个平衡机制,导致一般情况下,Gas 的价格会稳定在0.3 NanoFil左右。这就导致Gas的燃烧实际上增加了。具体增加了多少呢?这里我选了一个算力为 1.49PiB 的节点 为例比较一下。1.49PiB 是一个比较接近中间值的算力。有利于说明问题。
消息类型 | 升级前(7.2日) | 升级后(7.8日) |
PreCommitSector | 6,404,456 | 21,834,790 |
ProveCommitSector | 21,834,790 | 58,515,012 |
ProveReplicaUpdate | 79,395,742 | 161,141,636 |
SubmitWindowedPoSt | 8,332,697 | 21,397,673 |
注:由于每条消息的消耗都可能不同,这里主要选出典型的消耗作为参考比较。
从上表可以看出,Gas消耗增长2到3倍。由于BaseFee的相对固定。在EIP1559的设定下,Gas的燃烧与Gas消耗基本上是称正比的。也就是说,这样一来,Filecoin网络的Gas燃烧量就增加了。
那么,到底Gas燃烧的更多好吗?一般认为,Gas燃烧的多,那么总量就会减少,这样有利于形成通缩,导致价格上涨。这可能是大家希望看到的一面。
但是,对于 Filecoin 网络而言,尤其是对目前的 Filecoin网络而言,这件事有两面性。其中非常重要的因素是,燃烧的Gas是哪里来的? 在目前的 Filecoin 网络中,燃烧的 Gas 来自于存储提供者。燃烧的 Gas多了,意味着存储提供者的成本增加了,而且增加不少。那么在Filecoin 存储提供者成本增加的情况下,参与者就必须要做一个计算,到底要不要参与,参与到什么程度。存储提供者参与Filecoin网络也是一种投资,是要算投入产出比的。在成本提高了,那么参与者利润就少了。参与者就会减少,系统的总存储量就会受影响。在Filecoin 的初始质押机制之下,如果总存储量(算力)减少,将导致质押量上涨,进一步推高参与成本,并引起流通量的增加。从这个角度而言,实际上这是一个反向的作用。
到底总量的减少所引起的作用更大,还是对网络的存储量的抑制导致的作用更大呢?这个很难说,同时,还有很多其他的因素会在其中起作用。最重要的因素是Filecoin社区的发展和应用生态,一切的效果可能要等到 FVM M2出来我们再看。